﻿using DAL.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL.Interface
{
    public interface IBagInfoImpl:IImpl
    {
        IList<Bag> GetBagInfo(int id);

        IList<Bag> GetList();


        (int, IList<Bag>) GetList(int rows, int page);


        (int[], IList<Bag>[]) GetList(string name, string phone, int sernderRows, int senderPage, int getterRows, int getterPage);


        IList<Bag>[] GetList(string name, string phone);

        (int, IList<Bag>) GetSenderList(string name, string phone, int rows, int page);

        (int, IList<Bag>) GetGetterList(string name, string phone, int rows, int page);

        Bag? GetItemByID(string id);

        IList<Bag> GetList(string bagId, int page, int rows);

        bool Add(Bag bag);

        Bag Find(string id);

        Bag? Find(int id);

        bool UpdateBag(string id, Bag newbag);

        bool DeliveryBag(string id, Bag newbag);


        bool FinishDeliveryingBag(string id, Bag newbag);


        bool DeleteBagInfo(string id);



        int GetGetterUserIDByBagID(string bagID);

        int GetSenderUserIDByBagID(string bagID);

        
    }
}
